package main

import "fmt"

//结构体模拟实现其他语言中的继承
type animal struct {
	name string
	age  int
}

//给animal实现一个移动的方法
func (a animal) move() {
	fmt.Printf("%s会动！！！\n", a.name)
}

//狗类
type dog struct {
	feet   uint8
	animal //animal拥有的属性和方法，dog都会继承
}

//给狗实现一个汪汪汪的方法
func (d dog) wang() {
	fmt.Printf("%s汪汪汪 \n", d.name)
}

func main() {
	d := dog{
		feet: 4,
		animal: animal{
			name: "xh",
		},
	}
	d.move()
	d.wang()
	fmt.Println(d.age)
}
